1. Field of the Invention
The present disclosure relates generally to input/output processing, and in particular, to coordinating protocol compatibility and operations associated with input/output processing.
2. Description of Background
Input/output (I/O) operations are used to transfer data between memory and I/O devices of an I/O processing system. Specifically, data is written from memory to one or more I/O devices, and data is read from one or more I/O devices to memory by executing I/O operations.
To facilitate processing of I/O operations, an I/O subsystem of the I/O processing system is employed. The I/O subsystem is coupled to main memory and the I/O devices of the I/O processing system and directs the flow of information between memory and the I/O devices. One example of an I/O subsystem is a channel subsystem. The channel subsystem uses channel paths as communications media. Each channel path includes a channel coupled to a control unit, the control unit being further coupled to one or more I/O devices.
The channel subsystem may employ channel command words (CCWs) to transfer data between the I/O devices and memory. A CCW specifies the command to be executed. For commands initiating certain I/O operations, the CCW designates the memory area associated with the operation, the action to be taken whenever a transfer to or from the area is completed, and other options.
During I/O processing, a list of CCWs is fetched from memory by a channel. The channel parses each command from the list of CCWs and forwards a number of the commands, each command in its own entity, to a control unit coupled to the channel. The control unit then processes the commands. The channel tracks the state of each command and controls when the next set of commands are to be sent to the control unit for processing. The channel ensures that each command is sent to the control unit in its own entity. Further, the channel infers certain information associated with processing the response from the control unit for each command.
Currently, there is no link protocol that allows for the exchange of operating parameters between the channel and the control unit, and allows the control unit to request that new commands be ceased for a selected period of time. Typically, current link protocols require that either the channel cease sending new commands, or that the control unit respond to new commands with a busy message. However, relying on such busy messages may result in errors and possible loss of the logical path established between the control unit and the channel.
Accordingly, there is a need in the art for protocols to allow for the exchange of selected operating parameters and to allow the control unit to request suspension of commands for a selected time period.